A Dual-Length Path-Based Predictor for Thread Prediction
نویسندگان
چکیده
In speculative multithreading (SpMT) architectures which exploit thread level parallelism from a sequential program, predicting and spawning threads that follow a correct control flow is a major performance factor. Strategies for this control speculation issue can be divided into two approaches. The first approach is to support a limited control speculation, in which threads may only be spawn at specific points in the program. For example: loop iterations, function call and returns, or control equivalent points. This approach minimizes thread misprediction by only speculating at highly predictable places. The second approach is a more aggressive one, in which threads are predicted and spawned as soon as possible. This latter approach bears a larger potential for performance improvement, given that the thread predictor is sufficiently accurate. This paper targets architectures that use the latter approach. It first studies the predictability of thread addresses using a dynamic path-based predictor. The results show that, in an alias free situation, a high prediction accuracy can be achieved by including sufficiently long path information. However, the requirements for prediction table entries are also increasing almost exponentially when longer path information included. For a finite size table, there are cases when a longer path, due to capacity aliasing, leads to a severely deteriorated accuracy. To overcome the problem, this paper introduces a dual-length path-based prediction technique. We combine two path-based predictors: one predictor is indexed using a shorter path information, while the other predictor is indexed using a longer path information. A selection table is added to dynamically select which predictor’s outcome to use. The rationale behind this hybrid technique is to have the shorter path predictor, which has lower capacity requirements, to redeem the situation when the longer path predictor suffers from a severe capacity aliasing. Furthermore, by manipulating predictor’s table update policy, threads that can be accurately predicted by one predictor can be filtered out from contaminating the other predictor. Simulation results show that the combined effect significantly improves the accuracy of thread prediction.
منابع مشابه
The Prediction of Elite Athletes’ Chronic Ankle Instability Based on Postural Sway’s Risk Factors in Jump-Landing and Lateral Hopping Tasks
Chronic ankle instability has defined as recurrent ankle sprain, so that 40% of injured athletes after acute injury despite of receiving of adequate rehabilitation, suffering from this instability. The purpose of this study is investigate of postural sway’s risk factors proportion in jump-landing and lateral hopping tasks, in prediction of chronic ankle sprain occurrence. 25 ankle sprain injure...
متن کاملThread Pitch Variant in Orthodontic Mini-screws: A 3-D Finite Element Analysis
Orthodontic miniscrews are widely used as temporary anchorage devices to facilitate orthodontic movements. Miniscrew loosening is a common problem, which usually occurs during the first two weeks of treatment. Macrodesign can affect the stability of a miniscrew by changing its diameter, length, thread pitch, thread shape, tapering angle and so on. In this study, a 3-D finite element analysis wa...
متن کاملThe Impact of Java Applications at Microarchitectural Level from Branch Prediction Perspective
The portability, the object-oriented and distributed programming models, multithreading support and automatic garbage collection are features that make Java very attractive for application developers. The main goal of this paper consists in pointing out the impact of Java applications at microarchitectural level from two perspectives: unbiased branches and indirect jumps/calls, such branches li...
متن کاملExploring Dynamic Branch Prediction Methods
How to resolve the control flow breaking caused by the branch instructions is a major issue in modern deep pipeline processor design. Our project is based on the paper of J. Stark et. al. [1], a variable length path branch predictor. It uses the branch path information for prediction, and change the length of the path dynamically based on the profiling of the application. It shows that a “cleve...
متن کاملImproving Speculative Thread-Level Parallelism Through Module Run-Length Prediction
Exploiting speculative thread-level parallelism across modules, e.g., methods, procedures, or functions, have shown promise. However, misspeculations and task creation overhead are known to adversely impact the speedup if too many small modules are executed speculatively. Our approach to reduce the impact of these overheads is to disable speculation on modules with a run-length below a certain ...
متن کامل